110 FOR X = 1 TO 11: READ P,D: & "BEEP",P,D *1.25: NEXT X: & "WAIT",1.5
120 DATA 47,5,0,5,37,15,0,5,47,5,0,10,63,5,0,5,37,15,0,5,31,7: REM " 1(C) 3(E) 1(C) 1(LO G) 3(E) 1(HI G)
150 PRINT M$:A$ = "AMPER-SCREEN IS AN EXTENSIVE COLLECTION OF SCREEN-RELATED PROGRAMMING UTILITIES, DEDICATED TO TEXT DISPLAY AND INPUT FOR THE APPLE II AND IIE.": & "PRT",A$: GOSUB 8400: & "WAIT",8
160 PRINT M$:A$ = "THE AMPER-SCREEN PACKAGE IS MADE UP OF TWO NOTABLE PARTS:": & "PRT",A$: GOSUB 8500: & "WAIT",4: PRINT M$" 1. THE SCREEN GENERATOR AND SCREEN"M$" PROCESSOR UTILITIES.": GOSUB 8400: & "WAIT",4
170 PRINT M$" 2. AN ASSORTMENT OF ROUTINES TO DO"M$" SPECIAL FORMS OF INPUT AND OUTPUT"M$" ON YOUR APPLE.": GOSUB 8400: & "WAIT",4
200 HOME : HTAB 14: INVERSE : PRINT "AMPER SCREEN"T$: NORMAL : GOSUB 8600
205 A$ = "THE SCREEN GENERATOR/PROCESSOR ALLOWS YOU TO DESIGN AN ENTIRE INPUT OR OUTPUT SCREEN FORMAT. THEN YOU CAN HAVE THE ENTIRE SCREEN EXECUTED AS ONE OR TWO STATEMENTS.": & "PRT",A$: GOSUB 8500
210 & "WAIT",10: PRINT M$:A$ = "THIS IS USEFUL FOR REPORTS, MENUS, DATA ENTRY AND MORE.": & "PRT",A$: GOSUB 8500: & "WAIT",4
220 PRINT T$:A$ = "LET'S TAKE A LOOK AT WHAT ITS LIKE TO USE THE SCREEN GENERATOR/PROCESSOR...": & "PRT",A$: GOSUB 8500: & "WAIT",4
300 GOSUB 9000: GOSUB 8600: & "WAIT",4:U = 20:D = 24:L = 10:R = 40: GOSUB 8100: PRINT "THIS IS THE SCREEN GENERATOR.YOU CAN USE IT TO DESIGN SCREENS FOR YOUR PROGRAM.";: GOSUB 8300: GOSUB 8500: & "WAIT",10
310 GOSUB 9100: GOSUB 8600: & "WAIT",4:U = 19:L = 16:D = 23: GOSUB 8100: PRINT "THIS IS WHAT A FINISHEDSCREEN MIGHT LOOK LIKE WHEN YOU USE IT.";: GOSUB 8300: GOSUB 8500: & "WAIT",10
320 GOSUB 9200: & "WAIT",4:U = 19:L = 16:D = 23: GOSUB 8100: PRINT "HERE'S WHAT PART OF A PROGRAM USING A SCREEN MIGHT LOOK LIKE.";: GOSUB 8300: GOSUB 8500: & "WAIT",10
400 HOME : GOSUB 8600: HTAB 14: INVERSE : PRINT "AMPER SCREEN": NORMAL : PRINT M$:A$ = "HERE'S WHAT A FEW OF THE OTHER ROUTINES ON THE DISK CAN DO:": & "PRT",A$: & "WAIT",4
410 INVERSE : PRINT T$"4 WAY SCROLLING": NORMAL :A$ = "IS A ROUTINE THAT PERMITS FAST, FOUR WAY SCROLLING OF THE APPLE'S TEXT OR LOW RESOLUTION GRAPHICS SCREEN.": & "PRT",A$: GOSUB 8500: & "WAIT",8: PRINT M$"HERE'S A SMALL SAMPLE...": GOSUB 8400: & "WAIT",3
420 S$ = "RDRDRDLLLUUULLLDRDRDR": FOR N = 1 TO LEN(S$): FOR X = 1 TO 8: & "SCROLL 4X", MID$ (S$,N,1),0: NEXT X: & "BEEP",28,2: & "WAIT",.2: NEXT N: & "WAIT",8
500 W = 24: GOSUB 8700: GOSUB 8600: INVERSE : PRINT M$"INPUT USING": NORMAL :A$ = "IS A SPECIAL FORMATTED INPUT ROUTINE THAT ALLOWS CHECKING FOR ALLOWABLE CHARACTERS.": & "PRT",A$: & "WAIT",10
550 W = 14: GOSUB 8700: INVERSE : PRINT M$"EDIT STRING": NORMAL :A$ = "IS A SPECIAL STRING INPUT ROUTINE THAT WILL ALLOW THE USER TO USE CONTROL CODES TO EDIT HIS RESPONSE.": & "PRT",A$: GOSUB 8500: & "WAIT",8
560 PRINT :A$ = "IT ALSO LETS THE USER TYPE BOTH UPPER AND LOWER CASE, AND ENTER SPECIAL PUNCTUATION!": & "PRT",A$: GOSUB 8400: & "WAIT",10
600 W = 24: GOSUB 8700: GOSUB 8600: INVERSE : PRINT M$"TEXT FORMATTER": NORMAL :A$ = "WILL PRINT TEXT IN A LEFT, RIGHT, CENTER, OR FILL JUSTIFIED FORMAT.": & "PRT",A$: & "WAIT",8
610 PRINT T$M$"THIS HAS BEEN LEFT JUSTIFIED": GOSUB 8400: & "WAIT",2
620 PRINT : HTAB 12: PRINT "THIS HAS BEEN RIGHT JUSTIFIED": GOSUB 8400: & "WAIT",2
630 HTAB 6: PRINT "THIS HAS BEEN CENTER JUSTIFIED": GOSUB 8400: & "WAIT",2
640 PRINT T$"THIS IS SOME TEXT WHICH HAS BEEN FILLJUSTIFIED, SO THAT BOTH OF THE MARGINSARE SMOOTH.": GOSUB 8400: & "WAIT",8
700 W = 24: GOSUB 8700: GOSUB 8600: INVERSE : PRINT M$"CURSOR MOUSE": NORMAL :A$ = "LETS THE USER SELECT ITEMS WITH A MOUSE INPUT DEVICE, JOYSTICK, OR GAME PADDLES.": & "PRT",A$: & "WAIT",8
710 PRINT :A$ = "HERE'S A LITTLE DEMONSTRATION...": & "PRT",A$: GOSUB 8500: & "WAIT",2: PRINT :A$ = "USE THE JOYSTICK OR PADDLES TO MOVE THE CURSOR TO A LETTER AND THEN PRESS ONE OF THE BUTTONS.": & "PRT",A$: GOSUB 8500: GOSUB 9300
750 P0 = PDL(0): & "WAIT",.2:P1 = PDL(1): VTAB 17: HTAB 15: FOR X = 1 TO 300: PRINT "_ " CHR$(8) CHR$(8)" " CHR$(8);: IF ( PDL(0) >P0 +20) OR ( PDL(0) <P0 -20) OR ( PDL(1) >P1 +20) OR ( PDL(1) <P1 -20) THEN & "CURSOR MOUSE";A$: FOR X = 1 TO 30: READ N: NEXT X: GOTO 790
760 NEXT X: FOR X = 1 TO 30: READ N: VTAB PEEK(37) +1 +(N = 3) -(N = 1): HTAB PEEK(36) +1 +(N = 2) -(N = 4):C = PEEK( PEEK(40) + PEEK(41) *256 + PEEK(36)): FOR W = 1 TO 20 +60 *(X = 30): PRINT "_" CHR$(8) CHR$(C -128) CHR$(8);: NEXT W: NEXT X:A$ = "V"
770 DATA 4,4,4, 3,4,4, 3,4,1, 4,4,1,1,4, 2,2,2,2,2, 1,2,2,2, 3,2,2, 3,2,2,3
900 HOME : GOSUB 8600: HTAB 14: INVERSE : PRINT "AMPER SCREEN": NORMAL : PRINT :A$ = "THE FOLLOWING ROUTINES ARE INCLUDED WITH 'AMPER SCREEN':": & "PRT",A$: PRINT : & "WAIT",5
910 FOR X = 1 TO 20:P = X -2 * INT((X -1)/2) -1: HTAB P *20 +1: READ A$: PRINT A$ MID$ ( CHR$(13),1,P = 1);: & "BEEP",15,1: NEXT X
920 & "WAIT",4: PRINT M$:A$ = "...IN ADDITION TO THE SCREEN GENERATOR AND PROCESSOR.": & "PRT",A$: & "BEEP",23,5: & "BEEP",0,5: & "BEEP",23,70: & "WAIT",15: GOSUB 8400
930 GOTO 50
950 DATA "'SCREEN' ROUTINES","INPUT USING","SPEED CONTROL","CTRL CHR DISPLAY","EDIT STRING","PRINT PAUSE","LOWER CASE INPUT","NUMBER FORMAT","4 WAY SCROLLING","KEYBOARD CLICK","LINE SCROLLER","MUSICAL KEYBOARD","PRINTER CONTROL"
8000 H = PEEK(36) +1: FOR X = 0 TO LEN(A$): HTAB H: PRINT MID$ (A$,1,X);: & "BEEP",255 * NOT NOT X,1: INVERSE : PRINT MID$ (" ",1,X < > LEN(A$));: NORMAL : & "WAIT",.1: NEXT X: HTAB H + LEN(A$): RETURN
8100 TEXT : & "WINDOW",U,D,L,R: INVERSE : FOR V = U TO D: VTAB V: HTAB 1: PRINT MID$ (SP$,1,R -(D = V) -L +1);: NEXT V: POKE ( PEEK(40) + PEEK(41) *256) + PEEK(36),32: & "WINDOW",U +1,D -1,L +1,R -1: VTAB U +1: HTAB 1: RETURN
8700 FOR X1 = 1 TO W: & "SCROLL 4X","D": FOR X2 = 1 TO 5: NEXT X2: NEXT X1: VTAB 1: HTAB 1: RETURN
9000 HOME :P$ = "......................................": PRINT " "P$M$".";: FOR X = 1 TO 17: HTAB 40: PRINT "..";: NEXT X: HTAB 40: PRINT ".";" "P$: VTAB 3: HTAB 6: PRINT "SCREEN GENERATOR FUNCTIONS"M$: & "WINDOW",1,24,8: VTAB 5: INVERSE : FOR X = 1 TO 6: PRINT " "M$: NEXT X
9010 NORMAL : & "WINDOW"1,24,10: VTAB 5: HTAB 1: PRINT "CREATE NEW SCREEN."T$"LOAD SCREEN FROM DISK."T$"SAVE SCREEN ONTO DISK."T$"RETURN TO EDIT MODE."T$"LIST CATALOG."T$"QUIT.": & "WINDOW",1,24,1: & "WINDOW",1,24,6: VTAB 17: HTAB 1
9020 PRINT "TO SELECT A FUNCTION MOVE THE BOX"M$"TO THE APPROPRIATE LINE AND THEN"M$"PRESS THE 'ESC' KEY.": & "WINDOW",1,24,1: RETURN
9100 HOME :UL$ = "____________________________": PRINT "--< REALLY SUPER ACCOUNTING PROGRAM >--"T$: HTAB 8: PRINT "PLEASE FILL IN THIS FORM": HTAB 8: PRINT "FOR THE NEW ACCOUNT:"T$M$"ACCOUNT NUMBER: " LEFT$(UL$,8)T$"ACCOUNT TITLE: " LEFT$(UL$,22)
9230 REM "THE FOLLOWING TWO LINES ARE FOR LISTING ONLY!<CTRL-J>
9240 & "SP", LOAD ,"ACCOUNT SCREEN"
9250 & "SP", READ ,AN,TL$,AD$,TM$,BA
9300 VTAB 14: HTAB 6: INVERSE : PRINT LEFT$(SP$,29): FOR X = 1 TO 5: HTAB 6: PRINT " ";: HTAB 34: PRINT " ": NEXT X: HTAB 6: PRINT LEFT$(SP$,29): NORMAL : VTAB 16: HTAB 8: PRINT "A B C D E F G H I J K L M"M$: HTAB 8: PRINT "N O P Q R S T U V W X Y Z": & "WINDOW",15,19,7,33: RETURN